技術問答
技術文章
iT 徵才
Tag
聊天室
2024 鐵人賽
登入/註冊
問答
文章
Tag
邦友
鐵人賽
搜尋
第 11 屆 iThome 鐵人賽
DAY
26
0
自我挑戰組
從不懂,到玩上手的Python語言
系列 第
26
篇
DAY26-物件導向設計
11th鐵人賽
岳岳
團隊
CPR爆肝初心者
2019-10-12 22:07:09
8029 瀏覽
分享至
學習目標
何謂「物件導向程式設計」?
為何使用「物件導向程式設計」?
用不用「物件導向」差在哪裡?
物件導向程式的寫法
物件導向專有名詞
物件導向三大特色
何謂「物件導向設計」
把資料與操作該資料的函數綁在一起的語法
為何使用「物件導向」?
方便程式碼重用
用不用「物件導向」差在哪裡?
不使用物件導向描述一件事
使用物件導向描述一件事
用「物件導向」優點
便於程式碼「重用」
把程式細節隱藏在物件內,
讓主程式變短,
簡化主程式邏輯
用「物件導向」缺點
「基礎建設」較繁雜龐大,
寫個簡單程式需要比傳統寫法,還要更多行
物件導向程式的寫法
先定義好參與這件事的物品有哪些(這些物品叫做 “物件”)
再定義這些物品所需的數量及行為(這些數量及行為叫做 “屬性”與“方法”)
接下來就可用物品間的互動行為 來描述整件事情是如何發生的(這部份的描述稱為“主程式”)
物件導向專有名詞
屬性(Properties)vs. 方法(Methods)
類別 (Class):物件的設計藍圖
物件 (Object):根據類別所建造出來的實體 (Instance)
利用「類別」產生出「物件」,我們稱此動作為「實體化(Instantiation)」
物件導向三大特色
封裝 (Encapsulation)
將資料 (屬性) 與操作此資料的函數 (方法) 包在一起的特性
繼承 (Inheritance)
承接另一個物件所有屬性與方法,並可以加以改造的特性
多型 (Polymorphism)
修改繼承下來的函數,使之名稱相同,但行為卻不同的特性(覆寫Overwriting)
在一個類別內定義多個同名函數,隨著傳入值或呼叫方法不同而有不同行為(多載Overloading)
重點整理
為何使用「物件導向程式設計」
方便程式碼「重用」
屬性 vs. 方法
屬性:物件內的「資料」
方法:物件內的「函數」
類別 vs. 物件
類別:物件的「設計藍圖」
物件:由類別建造出來的一個「實體」
物件導向三大特性
封裝(Encapsulation):讓你把「資料」與「函數」打成一包
繼承(Inheritance):讓你輕易拷貝另一個類別所有屬性與方法
多型(Polymorphism):覆寫(Overwriting)+ 多載(Overloading)
留言
追蹤
檢舉
上一篇
Day25-複合資料結構:字典
下一篇
Day27-物件導向設計 :封裝部分
系列文
從不懂,到玩上手的Python語言
共
30
篇
目錄
RSS系列文
訂閱系列文
9
人訂閱
26
DAY26-物件導向設計
27
Day27-物件導向設計 :封裝部分
28
Day28-物件導向設計封裝部分:建構函數(Constructor)
29
Day29- 例外處理 (Exception)
30
Day30-總結30 天
完整目錄
直播研討會
{{ item.subject }}
{{ item.channelVendor }}
{{ item.webinarstarted }}
|
{{ formatDate(item.duration) }}
直播中
立即報名
尚未有邦友留言
立即登入留言
iThome鐵人賽
參賽組數
1064
組
團體組數
40
組
累計文章數
22137
篇
完賽人數
596
人
看影片追技術
看更多
{{ item.subject }}
{{ item.channelVendor }}
|
{{ formatDate(item.duration) }}
直播中
熱門tag
看更多
15th鐵人賽
16th鐵人賽
13th鐵人賽
14th鐵人賽
12th鐵人賽
11th鐵人賽
鐵人賽
2019鐵人賽
javascript
2018鐵人賽
python
2017鐵人賽
windows
php
c#
windows server
linux
css
react
vue.js
熱門問題
請問各位大神,有辦法更改家中的網路對外IP嗎 Orz
請問華碩分享器的系統紀錄這是在說明什麼
PDF簽章疑問
請問有 PDF 能一張一張翻譯加AI分析的方便工具嗎?
自家網站DNS連線逾時會載入很慢
MSSQL 滿3個月的算法
请教两个问题(文字和手机
網路查詢指令應用
Juniper SRX1500 斷電再開就無法正常運作
電子書閱讀器購買和實體書的優缺勢分析
熱門回答
請問各位大神,有辦法更改家中的網路對外IP嗎 Orz
請教舊電腦架網站的防護措施
JS 是否可以匯入「.xls」
MSSQL 滿3個月的算法
Exchange 刪除使用者 救回信件
熱門文章
當了兩個月的轉職工程師是怎樣的感覺?
iPhone升級iOS18之後 Vigor Router Firewall 路由器 防火牆 SmartVPN Client 問題
入門 ASP.NET Web Forms:建立您的第一個 Web 應用程式
Python 檔案處理:開啟、讀取、寫入與關閉
觀察 TCP UDP port 目的埠和應用程式的關係,CurrPorts 和 Microsoft Network Monitor
IT邦幫忙
×
標記使用者
輸入對方的帳號或暱稱
Loading
找不到結果。
標記
{{ result.label }}
{{ result.account }}